#include "start_page.h"

static lv_style_t style_bg;
static lv_style_t style_indic;
static lv_style_t style_cont;

static void set_value(void* bar, int32_t v)
{
    lv_bar_set_value(bar, v, LV_ANIM_ON);
    if (v == 100)
    {
        //jump在mainpage，主界面
        lv_page_load(START_PAGE, MAIN_PAGE);
    }
}

void boot_ainmation(lv_obj_t *obj)
{
    lv_anim_t a;
    lv_anim_init(&a);
    lv_anim_set_var(&a, obj);
    lv_anim_set_values(&a, 0, 100);
    lv_anim_set_exec_cb(&a, set_value);
    lv_anim_set_time(&a, 2000);
    //  lv_anim_set_playback_time(&a, 2000);
    lv_anim_start(&a);
    lv_obj_clear_flag(obj, LV_OBJ_FLAG_HIDDEN);
}

void start_page(lv_obj_t *obj)
{

    lv_style_init(&style_cont);
    lv_style_set_bg_color(&style_cont,);

    lv_style_init(&style_bg);
    lv_style_set_border_color(&style_bg, lv_palette_main(LV_PALETTE_BLUE));
    lv_style_set_border_width(&style_bg, 2);
    lv_style_set_pad_all(&style_bg, 6); /*To make the indicator smaller*/
    lv_style_set_radius(&style_bg, 6);
    lv_style_set_anim_time(&style_bg, 1000);

    lv_style_init(&style_indic);
    lv_style_set_bg_opa(&style_indic, LV_OPA_COVER);
    lv_style_set_bg_color(&style_indic, lv_palette_main(LV_PALETTE_BLUE));
    lv_style_set_radius(&style_indic, 3);

    lv_obj_t* bar = lv_bar_create(obj);

    lv_obj_remove_style_all(bar); /*To have a clean start*/
    lv_obj_add_style(bar, &style_bg, 0);
    lv_obj_add_style(bar, &style_indic, LV_PART_INDICATOR);

    lv_obj_set_size(bar, 200, 20);
    lv_obj_center(bar);

    lv_anim_t a;
    lv_anim_init(&a);
    lv_anim_set_var(&a, bar);
    lv_anim_set_values(&a, 0, 100);
    lv_anim_set_exec_cb(&a, set_value);
    lv_anim_set_time(&a, 2000);
    lv_anim_start(&a);
}
